package com.atkxp.service;

import com.atkxp.dto.req.TempScratchPaperDTO;
import com.atkxp.dto.req.UploadScratchPaperDTO;
import com.atkxp.dto.resp.AlgorithmDTO;
import com.atkxp.dto.resp.AlgorithmDescDTO;
import com.atkxp.dto.resp.Category;
import com.atkxp.dto.resp.ScratchPaperDescDTO;
import com.ruoyi.common.core.domain.AjaxResult;

import java.util.List;

/**
 * @author longhunpomie - 蒯兴鹏
 * @declaration
 * @email 3314028177@qq.com
 * @create 2025/3/29-16:58
 */

public interface IAlgorithmService {
    public List<Category> getAllCategory();

    public List<AlgorithmDTO> getAllAlgorithmByCategory(String category);

    public String getDesc(String category, String algorithm);

    public List<AlgorithmDescDTO> getSimpleDesc(String category, String algorithm);
    public String getCode(String category, String algorithm, String file);

    public String getData(String category, String algorithm, String file);

    public String getTemplate(String category, String algorithm, String file);

    String getScratchPaperData(Long userId, String file);

    String getScratchPaperCode(Long userId, String file);

    String getScratchPaperTemplate(Long userId, String file);

    String getScratchPaperDesc(Long userId);

    List<ScratchPaperDescDTO> getScratchPaperSimpleDesc(Long userId);

    AjaxResult tempSaveScratchPaper(TempScratchPaperDTO data);

    AjaxResult uploadScratchPaper(UploadScratchPaperDTO data);

    List<Category> getAllReviewCategory();

    List<AlgorithmDTO> getAllReviewAlgorithmByCategory(String category);

    AjaxResult onlineAlgorithm(String category, String name);

    AjaxResult refuseAlgorithm(String category, String name);
}
